﻿/*
 * Copyright © 2020, Wuxi Safover Intelligent Technology Co., Ltd. All rights reserved.
 * 
 * 无锡安永智能科技有限公司版权所有，未经许可，不得用于商业用途
 * 
 * Visit: https://www.safover.com/ 
 */

using Safover.Lidar.DataContract;
using System;
using System.Collections.Generic;

namespace Safover.LidarCollector.Models
{
    public class LidarConfig
    {
        public static string JsonFileName => $"LidarConfig.json";

        public TimeSpan PeriodScanEndDelayDuration { get; set; }
        public TimeSpan SingleScanEndDelayDuration { get; set; }
        public LidarWorkMode LidarWorkMode { get; set; }

        public float FixedVertialAngle { get; set; }
        public float FixedHorizontalAngle { get; set; }

        public float UnderwayVertialAngle { get; set; }
        public float UnderwayHorizontalAngle { get; set; }

        public float HorizontalStartAngle { get; set; }
        public float HorizontalRangeAngle { get; set; }
        public float HorizontalStepAngle { get; set; }
        public float HorizontalScanFixedVerticalAngle { get; set; }

        public float VerticalStartAngle { get; set; }
        public float VerticalRangeAngle { get; set; }
        public float VerticalStepAngle { get; set; }
        public float VerticalScanFixedHorizontalAngle { get; set; }

        public List<SingleScanConfig> MultiScanSteps { get; set; }

        public List<VerticalBlindSectorConfig> VerticalBlindSectorConfigs { get; set; }

        public List<HorizontalBlindSectorConfig> HorizontalBlindSectorConfigs { get; set; }


        public LidarConfig()
        {
            MultiScanSteps = new List<SingleScanConfig>();

            VerticalBlindSectorConfigs = new List<VerticalBlindSectorConfig>();

            HorizontalBlindSectorConfigs = new List<HorizontalBlindSectorConfig>();
        }

        public override string ToString()
        {
            return $"{LidarWorkMode}: ";
        }
    }
}
